package com.example.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 一次图结果实体类
 * 对应数据库表：circuit_diagram
 * 
 * @author system
 * @since 2024-01-01
 */
@Data
@TableName("circuit_diagram")
public class CircuitDiagram {
    
    /**
     * 主键ID，使用雪花算法生成
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;
    
    /**
     * 一次图名称
     */
    private String name;
    
    /**
     * 一次图JSON数据
     * 包含设备位置、连线信息、特效配置等
     */
    private String diagramJson;
    
    /**
     * 一次图缩略图URL
     */
    private String thumbnailUrl;
    
    /**
     * 一次图版本号
     */
    private Integer version;
    
    /**
     * 一次图状态：0=草稿，1=已发布，2=已归档
     */
    private Integer status;
    
    /**
     * 操作人员
     */
    private String operator;
    
    /**
     * 备注信息
     */
    private String remark;
    
    /**
     * 创建时间，插入时自动填充
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    
    /**
     * 创建人员
     */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;
    
    /**
     * 更新时间，插入和更新时自动填充
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    
    /**
     * 更新人员
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;
    
    /**
     * 逻辑删除标识：0=未删除，1=已删除
     */
    @TableLogic
    private Integer deleted;
} 